Predictable Shared Memory Resources for Multi-Core Real-Time Systems
نویسنده
چکیده
A major challenge in multi-core real-time systems is the interference problem on the shared hardware components amongst cores. Examples of these shared components include buses, on-chip caches, and off-chip dynamic random access memories (DRAMs). The problem arises because different cores in the system interfere with each other, while competing to access the shared hardware components. It is a challenging problem for real-time systems because operations of one core affect the temporal behaviour of other cores, which complicates the timing analysis of the system. We address this problem by making the following contributions. 1) For shared buses, we propose CArb, a predictable and criticality-aware arbiter, which provides guaranteed and differential service to tasks based on their requirements. In addition, we utilize CArb to mitigate overheads resulting from system switching among different modes. 2) For the cache hierarchy, we address the problem of maintaining cache coherence in multi-core real-time systems by modifying current coherence protocols such that data sharing is viable for real-time systems in a manner amenable for timing analysis. The proposed solution provides performance improvements, does not impose any scheduling restrictions, and does not require any source-code modifications. 3) At the shared DRAM level, we propose PMC, a programmable memory controller that provides latency guarantees for running tasks upon accessing the off-chip DRAM, while assigning differential memory services to tasks based on their bandwidth and latency requirements. In addition to PMC, we conduct a latency-based analysis on DRAM memory controllers (MCs). Our analysis provides both best-case and worst-case bounds on the latency that any request suffers upon accessing the DRAM. The analysis comprehensively covers all possible interactions of successive requests considering all possible DRAM states. Finally, we formally model request interrelations and DRAM command interactions. We use these models to develop an automated validation framework along with benchmark suites to validate and evaluate PMC and any other MC, which we release as an open-source tool.
منابع مشابه
Predictable and high performance multi-core architectures
Multi-core architectures will provide the computational power needed to the high performance hard real-time systems. Typically, multi-core architectures employ shared resources to reduce cost by decreasing chip area and package size, and to exchange data (for example, shared memory). The interference on the shared resources makes the execution time of applications running on these architectures...
متن کاملTowards Predictable Real-Time Performance on Multi-Core Platforms
Cyber-physical systems (CPS) integrate sensing, computing, communication and actuation capabilities to monitor and control operations in the physical environment. A key requirement of such systems is the need to provide predictable real-time performance: the timing correctness of the system should be analyzable at design time with a quantitative metric and guaranteed at runtime with high assura...
متن کاملPredictable SoC architecture based on COTS multi-core
With the increasing complexity of real-time embedded applications and the availability of Commercial-Off-TheShelf (COTS) multi-cores, time-predictable execution on these platforms has become a necessity. However, there are several challenges to achieving this predictability, primarily arising due to hardware resources shared between the cores (memory controllers, caches and shared interconnect)...
متن کاملWorst Case Analysis of DRAM Latency in Hard Real Time Systems
As multi-core systems are becoming more popular in real time embedded systems, strict timing requirements for accessing shared resources must be met. In particular, a detailed latency analysis for Double Data Rate Dynamic RAM (DDR DRAM) is highly desirable. Several researchers have proposed predictable memory controllers to provide guaranteed memory access latency. However, the performance of s...
متن کاملMESS: Memory Performance Debugging on Embedded Multi-core Systems
Multi-core processors have penetrated the modern computing platforms in several dimensions. Desktop machines, handheld devices and advanced embedded systems are now equipped with high-performance and energy-efficient multi-core systems. Multi-core systems aim to achieve high-performance via running computations in parallel. However, such systems also employ shared resources, such as shared cach...
متن کامل